package jUnitTestes;

import org.junit.Test;

import treinadores.CalculosAuxiliares;

public class TreinamentoRedeVoltarMinhaArea {
	
	@Test
	public void treinarNovaClasseRN(){
		int posicaoJogador = 9;
		int posicaoRefem = 13;
		int [] posicaoJogadores = {14, 10, 6, 1};
	    double [] colunas = getSaidaDesejada(posicaoJogador, posicaoJogadores, posicaoRefem);
	    for(double coluna : colunas)
	    {
	    	System.out.print(coluna + " ");
	    }
	}
	
	private double [] getSaidaDesejada(int posicaoJogadorNossoTime, int [] adversarios, int posicaoRefem){
		double [] saida = new double [6];
		
		for(int i = 0; i < saida.length; i++)
		{
			saida[i] = 0;
		}
	    
		int linhaAtual = (int)Math.abs((posicaoJogadorNossoTime/4) -3);
		int novaPosicaoJogador = posicaoJogadorNossoTime;
		
		while(linhaAtual < 3)
		{
			//Pega a coluna que o jogador deve andar para a próxima coluna
			int novaColuna = CalculosAuxiliares.acharColunaVaziaRetornar(novaPosicaoJogador,adversarios);
			//indicando a coluna para onde o jogador deve ir agora na RN
			double [] colunaSaida = CalculosAuxiliares.toBinaryDouble2(novaColuna);
			saida[linhaAtual*2] = colunaSaida[0];
			saida[linhaAtual*2+1] = colunaSaida[1];
			//incrementa a linha atual
			linhaAtual++;
			novaPosicaoJogador = (Math.abs(linhaAtual-3))*4 + novaColuna;
		}
		
		return saida;		
	}

}
